home *** CD-ROM | disk | FTP | other *** search
- /************************************************************
-
- File: SCSIStandard.h
-
- Contains: Commonly used structures and values from SCSI standard
-
- Copyright: © 1990-1993 by Apple Computer, Inc., all rights reserved.
-
- ************************************************************/
-
-
- #ifndef __SCSIStandard__
- #define __SCSIStandard__
-
-
- /********************************************************************/
- // General SCSI stuff
- /********************************************************************/
-
- // SCSI status
-
- #define scsiStatGood 0x00 // Good Status
- #define scsiStatCheckCondition 0x02 // Check Condition
- #define scsiStatConditionMet 0x04 // Condition Met
- #define scsiStatBusy 0x08 // Busy
- #define scsiStatIntermediate 0x10 // Intermediate
- #define scsiStatIntermedMet 0x14 // Intermediate - Condition Met
- #define scsiStatResvConflict 0x18 // Reservation conflict
- #define scsiStatTerminated 0x20 // Command terminated
- #define scsiStatQFull 0x28 // Queue full
-
-
- // SCSI messages
-
- typedef enum { kCmdCompleteMsg = 0,
- kExtendedMsgCode, // 0x01
- kSaveDataPointerMsg, // 0x02
- kRestorePointersMsg, // 0x03
- kDisconnectMsg, // 0x04
- kInitiatorDetectedErrorMsg, // 0x05
- kAbortMsg, // 0x06
- kMsgRejectMsg, // 0x07
- kNoOperationMsg, // 0x08
- kMsgParityErrorMsg, // 0x09
- kLinkedCmdCompleteMsg, // 0x0a
- kLinkedCmdCompleteWithFlagMsg, // 0x0b
- kBusDeviceResetMsg, // 0x0c
- kAbortTagMsg, // 0x0d
- kClearQueueMsg, // 0x0e
- kInitiateRecoveryMsg, // 0x0f
- kReleaseRecoveryMsg, // 0x10
- kTerminateIOProcessMsg, // 0x11
- kSimpleQueueTag = 0x20, // 0x20
- kHeadOfQueueTagMsg, // 0x21
- kOrderedQueueTagMsg, // 0x22
- kIgnoreWideResidueMsg // 0x23
- } SCSI1stMsg;
-
-
- // SCSI Phases - 1st 8 phases (thru MessageInPhase) are straight off the chip's phase bits
-
- typedef enum { kDataOutPhase, // 0
- kDataInPhase, // 1
- kCommandPhase, // 2
- kStatusPhase, // 3
- kPhaseIllegal0,
- kPhaseIllegal1,
- kMessageOutPhase, // 6
- kMessageInPhase, // 7
-
- kBusFreePhase, // 8
- kArbitratePhase, // 9
- kSelectPhase, // 0xA
- kMessageInPhaseNACK, // 0xB
- kSCSIphaseBogus = 256
- } SCSIphase;
-
-
- #endif //__SCSIStandard__